package br.com.fatecpg.zanotti.acessobanco;

import br.com.fatecpg.zanotti.modelo.Usuario;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * Classe responsável por realizar toda a Manipulação de Dados referente a tabela Usuário do Banco de Dados.
 * @author F.L. Zanotti
 */
public class dmlUsuario {
/**
 * Método responsável pela rotina de INSERT no banco de dados
 * @param Usuario Objeto Usuario
 * @return boolean
 */
    public static boolean cadastrar(Usuario Usuario) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "INSERT INTO USUARIO(cdfuncionario, cdcargo, cdloja, " +
                    "cdsenha)VALUES (?, ?, ?, ?)";

            PreparedStatement pst = con.prepareStatement(query);


            pst.setString(1, Usuario.getCDFUNCIONARIO());
            pst.setString(2, Usuario.getCDCARGO());
            pst.setString(3, Usuario.getCDLOJA());
            pst.setString(4, Usuario.getCDSENHA());


            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Cadastro de Usuario realizado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }

    }
/**
 * Método responsável pela rotina de UPDATE no banco de dados
 * @param Usuario Objeto Usuario
 * @return boolean
 */
    public static boolean atualizar(Usuario Usuario) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "UPDATE USUARIO SET " +
                    "cdcargo = ?, " +
                    "cdloja = ?, " +
                    "cdsenha = ? " +
                    "WHERE cdfuncionario = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, Usuario.getCDCARGO());
            pst.setString(2, Usuario.getCDLOJA());
            pst.setString(3, Usuario.getCDSENHA());
            pst.setString(4, Usuario.getCDFUNCIONARIO());


  

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Atualização realizada com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
    }
/**
 * Método responsável pela rotina de DELETE no banco de dados
 * @param cd Código do Funcionario.
 * @return boolean
 */
        public static boolean deletar(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "DELETE FROM Usuario " +
                    "WHERE CDFuncionario = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, cd);

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "O Usuario foi apagado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
        }
}
